cmake_minimum_required(VERSION 3.10)
# 指定构建项目所需的 CMake 的最低版本为 3.10

project(Rasterizer)
# 定义项目的名称为 Rasterizer

find_package(OpenCV REQUIRED)
# 查找并要求 OpenCV 库，如果找不到则停止配置

set(CMAKE_CXX_STANDARD 17)
# 设置 C++ 编译器的标准为 C++17

include_directories(/usr/local/include ./include)
# 指定头文件的搜索路径，包括系统路径和项目本地的 include 目录

add_executable(Rasterizer main.cpp rasterizer.hpp rasterizer.cpp global.hpp Triangle.hpp Triangle.cpp Texture.hpp Texture.cpp Shader.hpp OBJ_Loader.h)
# 定义要生成的可执行文件 Rasterizer，并列出参与编译的源文件和头文件 (注意：通常只列出源文件 .cpp)

target_link_libraries(Rasterizer ${OpenCV_LIBRARIES})
# 将 OpenCV 库链接到 Rasterizer 可执行文件

#target_compile_options(Rasterizer PUBLIC -Wall -Wextra -pedantic) 
# 为 Rasterizer 目标添加额外的编译警告选项